package com.seecen.HJM.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.seecen.HJM.model.dto.PlaylistDTO;
import com.seecen.HJM.model.dto.SongDto;
import com.seecen.HJM.model.entity.UserFavorite;
import com.seecen.HJM.model.vo.PlayListVo;
import com.seecen.HJM.model.vo.SongVo;
import com.seecen.HJM.result.DataVo;
import com.seecen.HJM.result.PageResult;

/**
 * @author TOYA
 * @description 针对表【tb_user_favorite】的数据库操作Service
 * @createDate 2025-09-26 22:52:07
 *
 */
public interface UserFavoriteService extends IService<UserFavorite> {

    // 获取用户收藏的歌曲列表
    DataVo<PageResult<SongVo>> getUserFavoriteSongs(SongDto songDTO);

    // 收藏歌曲
    DataVo collectSong(Long songId);

    // 取消收藏歌曲
    DataVo cancelCollectSong(Long songId);

    // 获取用户收藏的歌单列表
    DataVo<PageResult<PlayListVo>> getUserFavoritePlaylists(PlaylistDTO playlistDTO);

    // 收藏歌单
    DataVo collectPlaylist(Long playlistId);

    // 取消收藏歌单
    DataVo cancelCollectPlaylist(Long playlistId);

}
